Le problème d'invalid encoding ou (codage non valide) dans Ubuntu est dû à l'utilisation par défaut de UTF-8 pour le codage des partitions. Malheureusement, ce format est encore peu utilisé et la plupart des anciennes partitions (windows ou Linux) sont mal gérées par défaut.
Beaucoup d'info sur ce problème existent, mais il faut les trouver ! La situation peut donc s'améliorer en suivant les conseils pointés par cette page.
Comme expliqué sur la page d'installation des partitions windows, il faut ajouter ,iocharset=utf8,codepage=850 aux paramètres des partitions FAT32.
Si vous avez une ancienne partition Linux qui n'utilisait pas UTF-8, utilisez l'outil convmv pour transformer les accents invalides en UTF-8 (voir recup_partition).
Vous trouverez également sur cette page une note vous expliquant comment utiliser convmv pour corriger des noms de fichiers écrits par Windows sur une partitions ext2 ou ext3 avec le pilote Ext2IFS ou Ext2fsd.
Éventuellement cette discussion du forum ubuntu-FR parle des problèmes de nom lors de téléchargement de fichiers.
Ajout par Id2ndR
Astuce pour trouver les fichiers à problème :
ls -R <chemin> > <fichier_texte>
Ensuite utilisez l'outil convmv avec les options désirées. Habituellement :
convmv -f iso-8859-15 -t utf8 -r --nosmart <fichier_a_convertir>
puis avec l'option supplémentaire
--notest
si vous voulez faire la conversion.
Exemples:
convmv -f cp850 -t utf-8 -r --notest <fichier_a_convertir>
convmv -f iso-8859-1 -t utf-8 -r --notest <fichier_a_convertir>
Si vos fichiers affichés sur des crdoms apparaissent avec un problème de type invalid encoding, alors il faudra modifier les paramètres du fichier /etc/fstab et ajouter UTF8 en option de lecture des lecteurs, ce qui peut donner par exemple:
/dev/hdc /media/cdrom0 udf,iso9660 unhide,ro,user,noauto,utf8 0 0 /dev/hdd /media/cdrom1 udf,iso9660 unhide,ro,user,noauto,utf8 0 0
Normalement, après redémarrage de l'ordinateur, il ne devrait plus y avoir de problèmes de type invalid_encoding avec les cdroms.
Pour ceux qui montent des images ISO avec la commande mount, voici la commande qui a fonctionné pour moi:
sudo mount -o loop,iocharset=utf8 -t iso9660 imagesource.iso /destination
Ceux qui sont amenés à échanger quelques fichiers de manière épisodique ont peut-être été confronté au fait d'avoir simultanément sur une même clé usb des fichiers en utf8 et d'autres en iso. Le problème peut-être partiellement résolu en sélectionnant les fichiers incriminés et en utilisant un script pour nautilus:
#!/bin/sh
#pour convertir le nom du fichier de iso-8859-1 à utf8
for filename
do
newfilename=`echo $filename | iconv -f iso-8859-1 -t utf-8`;
mv "$filename" "$newfilename";
done
Il faut créer ce fichier avec le nom qui vous plaira et le placez dans le répertoire .gnome2/nautilus-scripts/